﻿using System;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Documents;
using System.Windows.Ink;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Animation;
using System.Windows.Shapes;
using Hydra.Shell.Interfaces;

namespace Hydra.Shell.Implementations
{
    public static class Extensions
    {
        public static HydraPackageWrapper Wrap(this IHydraPackage package)
        {
            return new HydraPackageWrapper(package);
        }

        public static IHydraPackage Unwrap(this HydraPackageWrapper packageWrapper)
        {
            return packageWrapper.Package;
        }

        public static HydraServiceWrapper Wrap(this IUnknown service, Guid serviceGuid)
        {
            return new HydraServiceWrapper(serviceGuid, service);
        }

        public static IUnknown Unwrap(this HydraServiceWrapper serviceWrapper)
        {
            return serviceWrapper.Service;
        }
    }
}
